x=x<<1 是什么意思???

来源:百度知道 编辑:UC知道 时间:2024/06/03 11:27:54
C语言中的符号,具体是什么意思??

将x的值变成二进制然后各位均左移一位,将结果赋给x。

比如:x=3,二进制是0000 0011,那么x<<1的结果就是0000 0110,也就是6,最后x=x<<1的结果就是6

将X左移一位后再给X

记不清是左移还是右移来着

x<<1等价于x*2
x>>1等价于x/2
当然x是整型,x/2也是整型的相除,会发生截断的
例:
{ x=5; x=x<<1; } 则x=10
{ x=5; x=x>>1; } 则x=2

x左移一位再赋值给x,右边位补0

将x的值变成二进制然后各位均左移一位,右边补0

位移<<比赋值=的优先级高